home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / asmutil / afloat.zip / FLOAT.INC < prev    next >
Text File  |  1988-03-15  |  3KB  |  103 lines

  1. ;            FLOAT.INC
  2. ;
  3. ;       Header file to be included in assembly-language code
  4. ;    which uses FLOAT.LIB.  This file provides declarations
  5. ;    for the external globals to which the assembler will
  6. ;    need access in order to use the routines from the
  7. ;    floating-point library.  This file can also be used
  8. ;    as a quick-reference sheet for the routines.
  9. ;
  10. ;       Copyright Bob Kline 1988
  11.  
  12. EXTRN    _errno:WORD
  13. ;       0 = no error
  14.     EDOM    EQU    33    ; invalid argument
  15.     ERANGE    EQU    34    ; overflow
  16.  
  17. EXTRN    ATOF:PROC
  18. ;    INPUT:        SI = pointer to string
  19. ;    OUTPUT:     DX:AX = 4-byte real
  20. ;       ALSO CHANGED:   BX, CX, DI, SI, BP
  21.  
  22. EXTRN    ITOF:PROC
  23. ;    INPUT:        AX = 2-byte integer
  24. ;    OUTPUT:     DX:AX = 4-byte real
  25. ;       ALSO CHANGED:   CX
  26.  
  27. EXTRN    F_ADD:PROC
  28. ;    INPUT:        DX:AX = 4-byte real
  29. ;            CX:BX = 4-byte real
  30. ;    OUTPUT:     DX:AX = 4-byte real sum
  31. ;    ALSO CHANGED:    BX, CX, DI, SI, BP, possibly _errno
  32.  
  33. EXTRN    FABSVAL:PROC
  34. ;    INPUT:        DX:AX = 4-byte signed real
  35. ;    OUTPUT:     DX:AX = 4-byte positive real
  36. ;       ALSO CHANGED:   No other registers
  37.  
  38. EXTRN    FBINTODEC:PROC
  39. ;    INPUT:        DX:AX = 4-byte real
  40. ;    OUTPUT:     DX:AX = integer mantissa
  41. ;            CX = sign
  42. ;            BX = signed, unbiased decimal exponent
  43. ;       ALSO CHANGED:   DI, SI
  44.  
  45. EXTRN    FCMP:PROC
  46. ;    INPUT:        DX:AX = 4-byte real
  47. ;            CX:BX = 4-byte real
  48. ;    OUTPUT:     AX = integer result
  49. ;    ALSO CHANGED:    BX, CX, DX, DI, SI, BP
  50.  
  51. EXTRN    FDECTOBIN:PROC
  52. ;    INPUT:        DX:AX = integer mantissa
  53. ;            CX = sign
  54. ;            BX = signed, unbiased decimal exponent
  55. ;    OUTPUT:     DX:AX = 4-byte real
  56. ;    ALSO CHANGED:    BX, CX, DI, SI
  57.  
  58. EXTRN    FDIVIDE:PROC
  59. ;    INPUT:        DX:AX = 4-byte real dividend
  60. ;            CX:BX = 4-byte real divisor
  61. ;    OUTPUT:     DX:AX = 4-byte real result
  62. ;    ALSO CHANGED:    BX, CX, DI, SI, BP, possibly _errno
  63.  
  64. EXTRN    FMULT:PROC
  65. ;    INPUT:        DX:AX = 4-byte real multiplicand
  66. ;            CX:BX = 4-byte real multiplier
  67. ;    OUTPUT:     DX:AX = 4-byte product
  68. ;    ALSO CHANGED:    BX, CX, DI, SI, BP, possibly _errno
  69.  
  70. EXTRN    F_SUB:PROC
  71. ;    INPUT:        DX:AX = 4-byte real subtrahend
  72. ;            CX:BX = 4-byte real minuend
  73. ;    OUTPUT:     DX:AX = 4-byte real difference
  74. ;    ALSO CHANGED:    BX, CX, DI, SI, BP, possibly _errno
  75.  
  76. EXTRN    FTOA:PROC
  77. ;    INPUT:        DX:AX = 4-byte real
  78. ;            SI = address for output string
  79. ;            CX = precision
  80. ;    CHANGED:    AX, BX, CX, DX, DI, SI, BP
  81.  
  82. EXTRN    FTOI:PROC
  83. ;    INPUT:        DX:AX = 4-byte real
  84. ;    OUTPUT:     AX = 2-byte signed integer
  85. ;    ALSO CHANGED:    BX, CX, DX, possibly _errno
  86.  
  87. EXTRN    FTOE:PROC
  88. ;    INPUT:        DX:AX = 4-byte real
  89. ;            SI = address for output string
  90. ;            CX = precision
  91. ;    CHANGED:    AX, BX, CX, DX, DI, SI
  92.  
  93. EXTRN    FTOL:PROC
  94. ;    INPUT:        DX:AX = 4-byte real
  95. ;    OUTPUT:     DX:AX = 4-byte signed long integer
  96. ;    ALSO CHANGED:    BX, CX, possibly _errno
  97.  
  98. EXTRN    LTOF:PROC
  99. ;    INPUT:        DX:AX = 4-byte signed long integer
  100. ;    OUTPUT:     DX:AX = 4-byte real
  101. ;    ALSO CHANGED:    CX
  102.  
  103.